利用github action自动部署博客
原理就是通过上传新文件后,触发该action,然后在服务器上下载该仓库代码,编译,将后续的文件直接push到hexo的静态文件库中即可
创建可以下载代码的密钥
如果github上已经保存有密钥,可以直接使用,如果没有密钥,那么需要生成一对
ssh-keygen -t rsa -b 4096 -f github-actions-deploy
会在当前目录下,生成两个文件,github-actions-deploy
和github-actions-deploy.pub
,一个公钥,一个私钥- 将公钥保存到github账户下,自己账户->settings->SSH and GPG keys->生成新的ssh key,将.pub文件内容粘贴到里面,这就是公钥
创建git库
这里需要创建两个git库,一个用来保存博客的源码库,一个是编译后的静态文件的代码库,用来挂靠在github page上展示
源码库就是hexo的代码仓库,写的博客文章就保存在里面,设置为私有库
创建github action
- 在blog的代码库中,点击仓库的settings->Secrets->将私钥存入,并设置好钥匙的命名,后续需要使用(例子中保存为
HEXO_DEPLOY_KEY
) - 点击action的tab,然后点击new workflow,将action的文件内容保存
1 | name: HEXO CI |
- 这个文件,可以在本地clone blog仓库的时候,在
.github/workflow/
中看到